import axios, { AxiosInstance, AxiosResponse, AxiosError } from 'axios';

// 创建一个新的 Axios 实例
const instance: AxiosInstance = axios.create({
  baseURL: 'https://api.example.com',
  timeout: 10000,
});

// 添加响应拦截器
instance.interceptors.response.use(
  (response: AxiosResponse) => {
    // 如果请求成功，直接返回响应数据
    return response.data;
  },
  (error: AxiosError) => {
    // 处理错误状态码
    if (error.response) {
      // 在这里可以根据不同的状态码进行相应的处理
      console.error('Request failed with status code', error.response.status);
    } else if (error.request) {
      // 处理没有收到响应的情况
      console.error('Request has no response');
    } else {
      // 处理其他类型的错误
      console.error('Error', error.message);
    }
    return Promise.reject(error);
  }
);

export default instance;